package com.example.sumresandroid;

import java.util.Vector;

import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.PropertyInfo;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;

import com.google.gson.Gson;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends Activity {


	//	private static final String METHOD_NAME = "suma";
	//	private static final String NAMESPACE = "http://192.168.50.16:8080/www3/service/application/servicio_ejemplo/servicio_ejemploSOA.php";
	//	private static final String SOAP_ACTION = "http://192.168.50.16:8080/www3/service/application/servicio_ejemplo/servicio_ejemploSOA.php#suma";
	//	private static final String URL = "http://192.168.50.16:8080/www3/service/application/servicio_ejemplo/servicio_ejemploSOA.php?WSDL";
	//	private String TAG = "Diego";// para mostrar cosas en consola con ese tag

	EditText num1,num2;
	TextView textNum1, textNum2, textResultado;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		num1 = (EditText)findViewById(R.id.editTextNumero1);
		num2 = (EditText)findViewById(R.id.editTextNumero2);
		textNum1 = (TextView)findViewById(R.id.textViewNumero1);
		textNum2 = (TextView)findViewById(R.id.textViewNumero2);
		textResultado = (TextView)findViewById(R.id.textViewResultado);
		Button btn=(Button)findViewById(R.id.buttonSumar);

		btn.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				textResultado.setText("Resultado: "+Sumar(Integer.parseInt(num1.getText().toString()),Integer.parseInt(num2.getText().toString())));
			}
		});

	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	public String Sumar(int n1, int n2) {

		String responseString = "";
		String namespace = "http://192.168.50.16:8080/www3/service/application/servicio_ejemplo/servicio_ejemploSOA.php";
		String SOAP_ACTION = "http://192.168.50.16:8080/www3/service/application/servicio_ejemplo/servicio_ejemploSOA.php#suma";
		String URL = "http://192.168.50.16:8080/www3/service/application/servicio_ejemplo/servicio_ejemploSOA.php";
		String method = "suma";
		String TAG = method;
		Log.i("intentando enviar datos al ws usando: ", method);

		try{


			System.out.println(method);
			System.out.println(SOAP_ACTION);

			SoapObject request = new SoapObject(namespace, method);

			request.addProperty("n1", n1);
			request.addProperty("n2", n2);

			//Preparando envio
			SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER12);
			soapEnvelope.dotNet = false;
			soapEnvelope.setOutputSoapObject(request);
			//soapEnvelope.addMapping("http://domain/xsd", "UsuarioVO", new UsuarioVO().getClass());

			//Creando transporte
			HttpTransportSE aht = new HttpTransportSE(URL);
			aht.debug = true;

			//Llamando metodo
			aht.call(SOAP_ACTION, soapEnvelope);


			Log.i(TAG, "dump Request: "+ aht.requestDump);
			Log.i(TAG, "dump Response: "+ aht.responseDump);

			//Recibiendo datos
			Vector resultado_xml = (Vector)soapEnvelope.getResponse();
			System.out.println(resultado_xml);
			System.out.println(resultado_xml.get(1));
			String res = resultado_xml.get(1).toString();

			responseString = res;

		} catch (Exception e) {
			e.printStackTrace();
			// en caso de no tener acceso al web service
			responseString = "";

		}


		return responseString;
	}


}
